home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / mintprgs / mintupgr / disk7.zoo / elvis.zoo / usr / doc / elvis / cflags.doc < prev    next >
Text File  |  1992-08-12  |  16KB  |  463 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. _9.  _C_F_L_A_G_S
  8.  
  9.      Elvis uses many preprocessor symbols to control  compi-
  10. lation.   Some  of  these  control  the sizes of buffers and
  11. such.  The "-DNO_XXXX" options remove small sets of  related
  12. features.
  13.  
  14.      Most  Elvis  users  will  probably  want  to  keep  all
  15. features  available.   Minix-PC  users, though, will have to
  16. sacrifice some sets because otherwise  Elvis  would  be  too
  17. bulky  to  compile.   The "asld" phase of the compiler craps
  18. out.
  19.  
  20. -DM_SYSV, -Dbsd, -DTOS, -DCOHERENT, -Damiga
  21.      These flags tell the compiler that Elvis is being  com-
  22.      piled for System-V UNIX, BSD UNIX, Atari TOS, Coherent,
  23.      or AmigaDos,  respectively.   For  other  systems,  the
  24.      config.h  file  can  generally  figure it out automati-
  25.      cally.
  26.  
  27. -DRAINBOW
  28.      For MS-DOS systems, this causes  support  for  the  DEC
  29.      Rainbow to be compiled into Elvis.
  30.  
  31. -DS5WINSIZE
  32.      Some versions of SysV UNIX don't  support  support  the
  33.      "winsize"   style  of  screen-size  testing,  so  elvis
  34.      ignores window size changes by default.
  35.  
  36.      However, many of the newer SysV systems  defines  "win-
  37.      size"  in  the file "/usr/include/sys/ptem.h".  If your
  38.      SysV  system  has  "winsize"  then   you   should   add
  39.      -DS5SWINSIZE to the CFLAGS setting.
  40.  
  41. -DTERMIOS
  42.      POSIX is a SysV-derived specification which uses a ter-
  43.      minal  control  package  called  "termios",  instead of
  44.      "termio".  Some other SysV systems may  also  use  ter-
  45.      mios.   You  can make elvis uses termios instead of the
  46.      more common  termio  by  adding  -DTERMIOS  to  CFLAGS.
  47.      (Note: This hasn't been tested very well.)
  48.  
  49. -DNBUFS=_n_u_m_b_e_r
  50.      Elvis keeps most of your text in a temporary file; only
  51.      a  small  amount  is actually stored in RAM.  This flag
  52.      allows you to control how much of the file  can  be  in
  53.      RAM  at  any  time.   The  default is 5 blocks, and the
  54.      minimum is 3 blocks.  (See the -DBLKSIZE flag, below.)
  55.  
  56.      More RAM allows global changes to happen a little  fas-
  57.      ter.
  58.       f you're just making many small changes in one section
  59.      of a file, though, extra RAM won't help much.
  60.  
  61.  
  62.  
  63.  
  64.                       August 10, 1992
  65.  
  66.  
  67.  
  68.  
  69.  
  70. 9-2                        CFLAGS                        9-2
  71.  
  72.  
  73. -DBLKSIZE=_n_u_m_b_e_r
  74.      This controls the size of blocks that Elvis uses inter-
  75.      nally.   The  value  of BLKSIZE must be a power of two.
  76.      Every time you double BLKSIZE, you quadruple  the  size
  77.      of  a  text  file  that  Elvis can handle, but you also
  78.      cause the temporary file to grow faster.   For  MS-DOS,
  79.      Coherent,  and  Minix-PC,  the  default  value is 1024,
  80.      which allows you to edit files up to almost 512K  bytes
  81.      long.   For  all  other  systems,  the default value is
  82.      2048, which allows you to edit files that are nearly  2
  83.      megabytes long.
  84.  
  85.      The BLKSIZE also determines the  maximum  line  length,
  86.      and  a few other limits.  BLKSIZE should be either 256,
  87.      512, 1024, or 2048.  Values other than these  can  lead
  88.      to strange behaviour.
  89.  
  90. -DTMPDIR=_s_t_r_i_n_g
  91.      This sets the default value of the "directory"  option,
  92.      which   specifies  where  the  temporary  files  should
  93.      reside.  The value of TMPDIR must be a  string,  so  be
  94.      sure  your  value includes the quote characters on each
  95.      end.
  96.  
  97. -DEXRC=_s_t_r, -DHMEXRC=_s_t_r, -DSYSEXRC=_s_t_r, -DEXINIT=_s_t_r
  98.      This lets you control the names of  the  initialization
  99.      files.   Their  values  must  be strings, so be careful
  100.      about quoting.
  101.  
  102.      EXRC is the name of  the  initialization  file  in  the
  103.      current  directory.   Its  default  value is ".exrc" on
  104.      UNIX systems -- the same as the real  vi.   Since  that
  105.      isn't  a  legal  DOS filename, under DOS the default is
  106.      "elvis.rc".  For  other  systems,  check  the  config.h
  107.      file.
  108.  
  109.      HMEXRC is the name of the initialization file  in  your
  110.      home  directory.   By  default, it is the same as EXRC.
  111.      Elvis will automatically prepend the name of your  home
  112.      directory  to  HMEXRC at run time, so don't give a full
  113.      path name.
  114.  
  115.      SYSEXRC is the name  of  a  system-wide  initialization
  116.      file.   It  has no default value; if you don't define a
  117.      value for it, then the code that supports SYSEXRC  just
  118.      isn't  compiled.  The value of SYSEXRC should be a full
  119.      pathname, in quotes.
  120.  
  121.      EXINIT is the name of an environment variable that  can
  122.      contain  initialization  commands.  Normally, its value
  123.      is "EXINIT".
  124.  
  125. -DKEYWORDPRG=_s_t_r_i_n_g
  126.      This  flag  determines  the  default   value   of   the
  127.  
  128.  
  129.  
  130.                       August 10, 1992
  131.  
  132.  
  133.  
  134.  
  135.  
  136. 9-3                        CFLAGS                        9-3
  137.  
  138.  
  139.      "keywordprg" option.  Its value must be a string, so be
  140.      careful about quoting.  The default value of this  flag
  141.      is "ref", which is a C reference program.
  142.  
  143. -DCC_COMMAND=_s_t_r_i_n_g -DMAKE_COMMAND=_s_t_r_i_n_g -DERRLIST=_s_t_r_i_n_g
  144.      These control the names of the C compiler,  the  "make"
  145.      utility, and the error output file, respectively.  They
  146.      are only used if -DNO_ERRLIST is not given.
  147.  
  148.      The default value of CC_COMMAND depends on the  Operat-
  149.      ing  System and compiler that you use to compile elvis;
  150.      for UNIX, the default is "cc".  The default  values  of
  151.      MAKE_COMMAND  and  ERRLIST  are  "make"  and "errlist",
  152.      respectively.
  153.  
  154. -DMAXRCLEN=_n_u_m_b_e_r
  155.      This determines how large a :@  macro  command  can  be
  156.      (measured  in  bytes).   The default is 1000 bytes.  If
  157.      you increase this value  significantly,  then  you  may
  158.      need  to  allocate extra memory for the stack.  See the
  159.      "CHMEM" setting in the Makefile.
  160.  
  161. -DSHELL=_s_t_r_i_n_g
  162.      This is the default value of the  "shell"  option,  and
  163.      hence  the  default shell used from within Elvis.  This
  164.      only controls the default; the value you give here  may
  165.      be  overridden  at  run-time  by setting an environment
  166.      variable named SHELL  (or  COMSPEC  for  MS-DOS).   Its
  167.      value  must  be  a string constant, so be careful about
  168.      quoting.
  169.  
  170. -DTAGS=_s_t_r_i_n_g
  171.      This sets the name of the "tags" file, which is used by
  172.      the :tag command.  Its value must be a string constant,
  173.      so be careful about quoting.
  174.  
  175. -DCS_IBMPC -DCS_LATIN1 -DCS_SPECIAL
  176.      The digraph table and  flipcase  option  will  normally
  177.      start  out  empty.   However,  if you add -DCS_IBMPC or
  178.      -DCS_LATIN1 to your CFLAGS, then they  will  start  out
  179.      filled  with values that are appropriate for the IBM PC
  180.      character set or the ISO Latin-1 character set, respec-
  181.      tively.
  182.  
  183.      You can also use -DCS_IBMPC and  -DCS_SPECIAL  together
  184.      to  get  digraphs that produce the PC's graphic charac-
  185.      ters.
  186.  
  187. -DDEBUG -DEBUG2
  188.      -DDEBUG adds the ":debug" and ":validate" commands, and
  189.      also   adds   many  internal  consistency  checks.   It
  190.      increases the size of the ".text" segment by about 6K.
  191.  
  192.      -DDEBUG2 causes a line to be appended to a file  called
  193.  
  194.  
  195.  
  196.                       August 10, 1992
  197.  
  198.  
  199.  
  200.  
  201.  
  202. 9-4                        CFLAGS                        9-4
  203.  
  204.  
  205.      "debug.out"  everytime  any  change is made to the edit
  206.      buffer.
  207.  
  208. -DCRUNCH
  209.      This flag removes some non-critical code, so that Elvis
  210.      is  smaller.   For example, it removes a short-cut from
  211.      the regexp package, so that text searches  are  slower.
  212.      Also, screen updates are not as efficient.  A couple of
  213.      obscure features are disabled by this, too.
  214.  
  215. -DNO_MKEXRC
  216.      This removes the ":mkexrc"  command,  so  you  have  to
  217.      create any .exrc files manually.  The size of the .text
  218.      segment will be reduced by about 600 bytes.
  219.  
  220. -DNO_CHARATTR
  221.      Permanently disables the charattr option.  This reduces
  222.      the size of your ".text" segment by about 850 bytes.
  223.  
  224. -DNO_RECYCLE
  225.      Normally, Elvis will recycle space (from the  temporary
  226.      file)  which contains totally obsolete text.  This flag
  227.      disables  this  recycling.   Without   recycling,   the
  228.      ".text"  segment is about 1K smaller than it would oth-
  229.      erwise be, but the tmp file grows much faster.  If  you
  230.      have  a  lot of free space on your hard disk, but Elvis
  231.      is too bulky to run with recycling, then try it without
  232.      recycling.
  233.  
  234.      When using a version of Elvis that  has  been  compiled
  235.      with  -DNO_RECYCLE, you should be careful to avoid mak-
  236.      ing many small changes to a file because  each  indivi-
  237.      dual change will cause the tmp file to grow by at least
  238.      1k.  Hitting "x" thirty times counts as thirty changes,
  239.      but  typing  "30x"  counts  as  one  change.  Also, you
  240.      should occasionally do a ":w" followed  by  a  ":e"  to
  241.      start with a fresh tmp file.
  242.  
  243.      Interestingly, the real vi never  recycles  space  from
  244.      its temporary file.
  245.  
  246. -DNO_SENTENCE
  247.      Leaves out the "(" and ")" visual mode commands.  Also,
  248.      the  "[[",  "]]", "{", and "}" commands will not recog-
  249.      nize *roff macros.  The sections and paragraphs options
  250.      go  away.   This  saves  about 650 bytes in the ".text"
  251.      segment.
  252.  
  253. -DNO_CHARSEARCH
  254.      Leaves out the visual commands  which  locate  a  given
  255.      character  in the current line: "f", "t", "F", "T", ","
  256.      and ";".  This saves about 900 bytes.
  257.  
  258. -DNO_EXTENSIONS
  259.  
  260.  
  261.  
  262.                       August 10, 1992
  263.  
  264.  
  265.  
  266.  
  267.  
  268. 9-5                        CFLAGS                        9-5
  269.  
  270.  
  271.      Leaves out the "K" and "#" visual commands.  Also,  the
  272.      arrow  keys will no longer work in input mode.  Regular
  273.      expressions will no longer recognize the \{\} operator.
  274.      (Other  extensions are either inherent in the design of
  275.      Elvis, or are controlled by more specific flags, or are
  276.      too  tiny  to  be worth removing.) This saves about 250
  277.      bytes.
  278.  
  279. -DNO_MAGIC
  280.      Permanently disables the "magic" option, so  that  most
  281.      meta-characters  in  a  regular  expression  are  *NOT*
  282.      recognized.  This  saves  about  3k  of  space  in  the
  283.      ".text" segment, because the complex regular expression
  284.      code can be replaced by much simpler code.
  285.  
  286. -DNO_SHOWMODE
  287.      Permanently  disables  the  "showmode"  option,  saving
  288.      about 250 bytes.
  289.  
  290. -DNO_CURSORSHAPE
  291.      Normally, Elvis tries to adjust the shape of the cursor
  292.      as   a   reminder   of   which  mode  you're  in.   The
  293.      -DNO_CURSORSHAPE flag disables this, saving  about  150
  294.      bytes.
  295.  
  296. -DNO_DIGRAPH
  297.      To allow entry of non-ASCII characters, Elvis  supports
  298.      digraphs.   A digraph is a single (non-ASCII) character
  299.      which is entered as a combination of two other  (ASCII)
  300.      characters.  If you don't need to input non-ASCII char-
  301.      acters, or if your keyboard supports a  better  way  of
  302.      entering non-ASCII characters, then you can disable the
  303.      digraph code and save about 450 bytes.
  304.  
  305. -DNO_ERRLIST
  306.      Elvis adds a ":errlist" command,  which  is  useful  to
  307.      programmers.   If  you don't need this feature, you can
  308.      disable it via the -DNO_ERRLIST flag.  This will reduce
  309.      the .text segment by about 900 bytes, and the .bss seg-
  310.      ment by about 300 bytes.
  311.  
  312. -DNO_ABBR
  313.      The -DNO_ABBR flag disables the  ":abbr"  command,  and
  314.      reduces the size of Elvis by about 250 bytes.
  315.  
  316. -DNO_OPTCOLS
  317.      When Elvis displays the current  options  settings  via
  318.      the  ":set"  command,  the  options are normally sorted
  319.      into columns.  The -DNO_OPTCOLS flag causes the options
  320.      to be sorted across the rows, which is much simpler for
  321.      the computer.  The -DNO_OPTCOLS flag  will  reduce  the
  322.      size of your .text segment by about 500 bytes.
  323.  
  324. -DNO_MODELINES
  325.  
  326.  
  327.  
  328.                       August 10, 1992
  329.  
  330.  
  331.  
  332.  
  333.  
  334. 9-6                        CFLAGS                        9-6
  335.  
  336.  
  337.      This removes all support for modelines.
  338.  
  339. -DNO_TAG
  340.      This disables tag lookup.  It reduces the size  of  the
  341.      .text segment by about 750 bytes.
  342.  
  343. -DNO_ALT_FKEY -DNO_CTRL_FKEY -DNO_SHIFT_FKEY -DNO_FKEY
  344.      These remove explicit  support  of  function  keys.   -
  345.      DNO_ALT_FKEY  removes  support for the <alternate> ver-
  346.      sions function keys.   -DNO_CTRL_FKEY  removes  support
  347.      for  the  <control>  and  <alternate> versions function
  348.      keys.  -DNO_SHIFT_FKEY removes support for the <shift>,
  349.      <control>,  and  <alternate> versions function keys.  -
  350.      DNO_FKEY removes all support of function keys.
  351.  
  352.      Elvis's ":map" command normally allows you to  use  the
  353.      special  sequence  "#<n>" to map function key <n>.  For
  354.      example, ":map #1 {!}fmt^M" will cause the <F1> key  to
  355.      reformat  a paragraph.  Elvis checks the :k1=: field in
  356.      the termcap description of your terminal to figure  out
  357.      what  code  is  sent  by  the  <F1> key.  This is handy
  358.      because it allows you to create a .exrc file which maps
  359.      function  keys  the same way regardless of what type of
  360.      terminal you use.
  361.  
  362.      That behaviour is standard; most implementations of the
  363.      real  vi  supports it too.  Elvis extends this to allow
  364.      you to use "#1s" to refer  to  <shift>+<F1>,  "#1c"  to
  365.      refer   to   <control>+<F1>,  and  "#1a"  to  refer  to
  366.      <alt>+<F1>.  The termcap description for  the  terminal
  367.      should have fields named :s1=:c1=:a1=: respectively, to
  368.      define the code sent by these key  conbinations.   (You
  369.      should  also  have  :k2=:s2=:c2=:a2=: for the <F2> key,
  370.      and so on.)
  371.  
  372.      But there  may  be  problems.   The  terminfo  database
  373.      doesn't  support :s1=:c1=:a1=:, so no terminfo terminal
  374.      description could ever support shift/control/alt  func-
  375.      tion  keys; so you might as well add -DNO_SHIFT_FKEY to
  376.      CFLAGS if you're using terminfo.
  377.  
  378.      Note that, even if you have -DNO_FKEYS, you  can  still
  379.      configure  Elvis  to  use your function keys my mapping
  380.      the literal character codes sent by the key.  You  just
  381.      couldn't do it in a terminal-independent way.  TERM_925
  382.  
  383. -DTERM_AMIGA -DTERM_VT100 -DTERM_VT52 etc.
  384.      The tinytcap.c file contains  descriptions  of  several
  385.      terminal  types.  For each system that uses tinytcap, a
  386.      reasonable subset  of  the  available  descriptions  is
  387.      actually  compiled  into Elvis.  If you wish to enlarge
  388.      this  subset,  then  you  can   add   the   appropriate
  389.      -DTERM_XXX flag to your CFLAGS settings.
  390.  
  391.  
  392.  
  393.  
  394.                       August 10, 1992
  395.  
  396.  
  397.  
  398.  
  399.  
  400. 9-7                        CFLAGS                        9-7
  401.  
  402.  
  403.      For a list of the available terminal types,  check  the
  404.      tinytcap.c file.
  405.  
  406. -DINTERNAL_TAGS
  407.      Normally, Elvis uses the "ref" program to  perform  tag
  408.      lookup.   This  is more powerful than the real vi's tag
  409.      lookup, but it can be much slower.
  410.  
  411.      If you add -DINTERNAL_TAGS to your CFLAGS setting, then
  412.      will  use  its  own  internal tag lookup code, which is
  413.      faster.
  414.  
  415. -DPRSVDIR=_d_i_r_e_c_t_o_r_y
  416.      This controls where preserved files will be placed.  An
  417.      appropriate  default has been chosen for each Operating
  418.      System, so you probably don't need to worry about it.
  419.  
  420. -DFILEPERMS=_n_u_m_b_e_r
  421.      This affects the attributes of files that  are  created
  422.      by  Elvis;  it  is  used  as the second argument to the
  423.      creat() function.  The default is 0666 which  (on  UNIX
  424.      systems  at least) means that anybody can read or write
  425.      the new file, but nobody can execute it.  On UNIX  sys-
  426.      tems, the creat() call modifies this via the umask set-
  427.      ting.
  428.  
  429. -DKEYBUFSIZE=_n_u_m_b_e_r
  430.      This determines the size of the type-ahead buffer  that
  431.      elvis uses.  It also limits the size of keymaps that it
  432.      can handle.  The  default  is  1000  characters,  which
  433.      should be plenty.
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.                       August 10, 1992
  461.  
  462.  
  463.